Creative professionals often use a variety of pictures and images as part of creating media content for marketing materials, presentations, backgrounds, book illustrations, web pages, and other media content. Creative professionals may locally create pictures and images that are incorporated into a design or creative professionals may obtain pictures and images from external sources, such as from a content sharing service. For example, creative professionals may create local images on their computing devices, which are then included in the content, such as a local, user-created image to be included in a presentation, and may obtain images from outside sources, such as a commercially available image from a content sharing service. Accordingly, even a single media content item may include a variety of images obtained from a variety of different sources.
Fonts used to render text in images and other content are one of the top elements in media content design. For example, images in media content include text, such as text in a logo, on a road sign, or on a clothing item. The appearance of such text in media content is important to conveying the intended meaning of a given design. For instance, a user has more interaction with the font and text than with other objects in the media content. Since the fonts are used to present text in the media content, a user reading text within media content typically more closely examines fonts than other objects in the content. As such, a designer's choice of fonts as well as visual consistency between fonts within media content is one of the most important factors in how the media content is perceived by an audience of users of the content.
Different fonts are used to render text with different appearances in various designs. For instance, designers and creative professionals choose fonts to establish a mood, convey a desired aesthetic, engender an emotion, communicate a meaning, generate interest, provide a unifying theme, or simply to attract attention. Accordingly, the appearance of text in media content is one of the top elements in graphic design, web design, interaction design, user interface design, and other types of design.
Being able to recognize a specific font from a text image is useful to designers, who may want to select typefaces according to an existing graphics design or based on an inspiration from others' work. Such font recognition and selection of visually similar fonts promotes consistency in appearance in text rendered using the fonts in media content. Thus, recognition of a font used to render text within an image and the ability to find similar fonts (e.g., to promote a similar look and feel to an item of media content) is an important factor in creation of media content.
Conventional digital medium environments used to create media content, however, support a limited ability to recognize fonts used to render text within an image as well as to locate visually similar fonts. Conventional techniques for font recognition typically rely on manual user interaction on the part of the creative professional, which may introduce errors. For example, conventional techniques may rely on manually selecting an image portion (e.g., by manually drawing a bounding box that surrounds the portion of the image) that is to be processed to recognize a font used to render text within the portion of the image. As such, conventional techniques are limited by accuracy of the manual selection in order to drawn the bounding box and the skill and dexterity of a user making the selection.
Although automated font recognition techniques exist, these are often also prone to error, resource intensive, and inefficient and thus limited to devices having sufficient processing resources to perform these existing techniques. An ever-increasing number of locally created fonts to be recognized increases the complexity of font recognition, and the required processing resources, for identifying fonts that are included in images.
Furthermore, existing font recognition techniques cannot deal with problems that arise when a design is transmitted from one computing device to another device. To render text in accordance with a desired font, a computing device refers to the desired font to access instructions that describe how to draw individual characters of text. However, not all fonts are known or present on all computing devices. For example, a font that is available on a source computing device may not be available on a deployment device where the font is to be presented. While existing technique can recognize fonts that have been seen in a set of training fonts used during a training stage on a computing device, such techniques cannot recognize fonts that are not included in the training set. This significantly limits the usefulness of existing font recognition techniques, as the number of available fonts is much larger than the size of a training set. For instance, new fonts are created locally on devices that are outside training sets and it impossible to enumerate all possible fonts a user can install on a local device.
Consequently, a deployment device may receive a design that identifies a font that is unknown or has not been seen by the development device (i.e., an unseen font). That deployment device is then responsible for determining the font type for the unseen font. Conventional approaches cannot recognize any unseen fonts. Thus, conventional approaches to font recognition present many disadvantages, such as (but not limited to) those described above.